#include <stdio.h>

struct _INFO {
  char *f;             /* Arquivo onde está contido o sistema */
  int order;           /* Ordem do sistema */
  int test_row;        /* Linha na qual a solução vai ser testada */
  int MAX_ITER;        /* Número máximo de iterações */
  double erro;         /* Erro a ser alcançado na solução */
  long **seekTable_A;  /* Tabela de seeks para a matriz A */
  long *seekTable_B;  /* Tabel de seeks para a matriz B */
};

typedef struct _INFO info;

info * createInfo(char *);
double getValue(info *, int,int);
double * getColumn(info *, int);
double * getLine(info *, int);
int parada(double , double *, double *, int);
void swap(double *, double *, int);
double calculateLine(double **, double *,int,int);
double calculateLineDistributed(info *,double *);
double **getMatrixA(info *);
double *getMatrixB(info *);
void broadcastInfo(info *);
info * receiveInfo(char *);
